
kernel/hd.o：     文件格式 elf32-i386
kernel/hd.o
体系结构：i386， 标志 0x00000011：
HAS_RELOC, HAS_SYMS
起始地址 0x00000000

节：
Idx Name          Size      VMA       LMA       File off  Algn
  0 .group        00000008  00000000  00000000  00000034  2**2
                  CONTENTS, READONLY, GROUP, LINK_ONCE_DISCARD
  1 .group        00000008  00000000  00000000  0000003c  2**2
                  CONTENTS, READONLY, GROUP, LINK_ONCE_DISCARD
  2 .group        00000008  00000000  00000000  00000044  2**2
                  CONTENTS, READONLY, GROUP, LINK_ONCE_DISCARD
  3 .text         000009bd  00000000  00000000  0000004c  2**0
                  CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
  4 .data         00000004  00000000  00000000  00000a0c  2**2
                  CONTENTS, ALLOC, LOAD, DATA
  5 .bss          000004f0  00000000  00000000  00000a20  2**5
                  ALLOC
  6 .rodata.str1.1 000000d0  00000000  00000000  00000a20  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  7 .rodata.str1.4 0000009a  00000000  00000000  00000af0  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  8 .rodata       00000030  00000000  00000000  00000ba0  2**5
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  9 .text.__x86.get_pc_thunk.cx 00000004  00000000  00000000  00000bd0  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
 10 .text.__x86.get_pc_thunk.bx 00000004  00000000  00000000  00000bd4  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
 11 .text.__x86.get_pc_thunk.di 00000004  00000000  00000000  00000bd8  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
 12 .comment      00000025  00000000  00000000  00000bdc  2**0
                  CONTENTS, READONLY
 13 .note.GNU-stack 00000000  00000000  00000000  00000c01  2**0
                  CONTENTS, READONLY
 14 .note.gnu.property 0000001c  00000000  00000000  00000c04  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 15 .eh_frame     000003d8  00000000  00000000  00000c20  2**2
                  CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA
SYMBOL TABLE:
00000000 l    df *ABS*	00000000 hd.c
00000000 l    d  .text	00000000 .text
00000000 l    d  .data	00000000 .data
00000000 l    d  .bss	00000000 .bss
00000000 l     F .text	0000002c win_result
0000002c l     F .text	0000002b drive_busy
00000000 l    d  .rodata.str1.1	00000000 .rodata.str1.1
00000057 l     F .text	000000e0 hd_out
00000000 l    d  .rodata.str1.4	00000000 .rodata.str1.4
00000137 l     F .text	000000ae reset_hd
000001e5 l     F .text	000000f2 do_request
00000008 l     O .bss	00000004 sorting
0000000c l     O .bss	00000004 this_request
00000639 l     F .text	000000c6 write_intr
00000569 l     F .text	000000d0 read_intr
000002d7 l     F .text	00000207 rw_abs_hd
00000020 l     O .bss	00000480 request
00000004 l     O .bss	00000004 wait_for_request
000004de l     F .text	0000008b bad_rw_intr
000004a0 l     O .bss	00000050 hd
00000000 l     O .rodata	00000030 hd_info
00000000 l     O .data	00000004 callable.1902
00000000 l    d  .rodata	00000000 .rodata
00000000 l    d  .text.__x86.get_pc_thunk.cx	00000000 .text.__x86.get_pc_thunk.cx
00000000 l    d  .text.__x86.get_pc_thunk.bx	00000000 .text.__x86.get_pc_thunk.bx
00000000 l    d  .text.__x86.get_pc_thunk.di	00000000 .text.__x86.get_pc_thunk.di
00000000 l    d  .note.GNU-stack	00000000 .note.GNU-stack
00000000 l    d  .note.gnu.property	00000000 .note.gnu.property
00000000 l    d  .eh_frame	00000000 .eh_frame
0000001b l       .rodata.str1.1	00000000 .LC1
00000000 l       .rodata.str1.1	00000000 .LC0
00000033 l       .rodata.str1.1	00000000 .LC2
00000000 l       .rodata.str1.4	00000000 .LC3
0000004e l       .rodata.str1.1	00000000 .LC4
00000061 l       .rodata.str1.1	00000000 .LC5
0000007d l       .rodata.str1.1	00000000 .LC6
00000024 l       .rodata.str1.4	00000000 .LC7
00000048 l       .rodata.str1.4	00000000 .LC8
0000009b l       .rodata.str1.1	00000000 .LC9
00000078 l       .rodata.str1.4	00000000 .LC10
0000009c l       .rodata.str1.1	00000000 .LC11
0000009e l       .rodata.str1.1	00000000 .LC12
000000b6 l       .rodata.str1.1	00000000 .LC13
00000000 l    d  .comment	00000000 .comment
00000000 l    d  .group	00000000 .group
00000000 l    d  .group	00000000 .group
00000000 l    d  .group	00000000 .group
00000000 g     F .text.__x86.get_pc_thunk.bx	00000000 .hidden __x86.get_pc_thunk.bx
00000000         *UND*	00000000 _GLOBAL_OFFSET_TABLE_
00000000         *UND*	00000000 panic
00000000 g     O .bss	00000004 do_hd
00000000         *UND*	00000000 printk
00000000         *UND*	00000000 sleep_on
00000000         *UND*	00000000 wake_up
000006ff g     F .text	0000009e rw_hd
00000000 g     F .text.__x86.get_pc_thunk.di	00000000 .hidden __x86.get_pc_thunk.di
0000079d g     F .text	0000015a sys_setup
00000000         *UND*	00000000 start_buffer
00000000         *UND*	00000000 mount_root
000008f7 g     F .text	00000024 unexpected_hd_interrupt
0000091b g     F .text	000000a2 hd_init
00000000 g     F .text.__x86.get_pc_thunk.cx	00000000 .hidden __x86.get_pc_thunk.cx
00000000         *UND*	00000000 idt
00000000         *UND*	00000000 hd_interrupt


Contents of section .group:
 0000 01000000 0b000000                    ........        
Contents of section .group:
 0000 01000000 0c000000                    ........        
Contents of section .group:
 0000 01000000 0d000000                    ........        
Contents of section .text:
 0000 baf70100 00ec89c1 83e1f1ba 00000000  ................
 0010 80f95074 14ba0100 0000a801 740bbaf1  ..Pt........t...
 0020 010000ec ba010000 0089d0c3 baf70100  ................
 0030 00ec83e0 c03c4074 12b99f86 0100ec83  .....<@t........
 0040 e0c03c40 740583e9 0175f3ba f7010000  ..<@t....u......
 0050 ecb80000 0000c355 57565383 ec0ce8fc  .......UWVS.....
 0060 ffffff81 c3020000 0089c689 d589cf83  ................
 0070 f8010f87 a8000000 837c2420 0f0f879d  .........|$ ....
 0080 000000b9 0f270000 baf70100 00ec83e9  .....'..........
 0090 0175fa83 ec0c8d83 00000000 50e8fcff  .u..........P...
 00a0 ffff8b44 243c8983 00000000 b8000000  ...D$<..........
 00b0 00baf603 0000eeba f1010000 b84b0000  .............K..
 00c0 00eeeb00 eb00baf2 01000089 e8eeeb00  ................
 00d0 eb00baf3 01000089 f8eeeb00 eb00baf4  ................
 00e0 0100008b 442434ee eb00eb00 c1e808ba  ....D$4.........
 00f0 f5010000 eeeb00eb 0089f0c1 e0040b44  ...............D
 0100 24300ca0 baf60100 00eeeb00 eb00baf7  $0..............
 0110 0100008b 442438ee 83c41c5b 5e5f5dc3  ....D$8....[^_].
 0120 83ec0c8d 83000000 0050e8fc ffffff83  .........P......
 0130 c410e94c ffffff57 5653e8fc ffffff81  ...L...WVS......
 0140 c3020000 0089c6b8 04000000 baf60300  ................
 0150 00eeb8e8 03000090 83e80175 fab80000  ...........u....
 0160 0000baf6 030000ee bf102700 00e8bafe  ..........'.....
 0170 ffff85c0 740583ef 0175f2e8 acfeffff  ....t....u......
 0180 85c07538 ba010000 00ec0fb6 d03c0175  ..u8.........<.u
 0190 3f8d83e5 01000050 68910000 0068d103  ?......Ph....h..
 01a0 00006a04 b9110000 00ba1100 000089f0  ..j.............
 01b0 e8a2feff ff83c410 5b5e5fc3 83ec0c8d  ........[^_.....
 01c0 83000000 0050e8fc ffffff83 c410ebb4  .....P..........
 01d0 83ec0852 8d830000 000050e8 fcffffff  ...R......P.....
 01e0 83c410eb acf30f1e fb565383 ec04e8fc  .........VS.....
 01f0 ffffff81 c3020000 0083bb08 00000000  ................
 0200 75298b83 0c000000 85c07425 8b501483  u)........t%.P..
 0210 fa307429 83fa2074 7383ec0c 8d830000  .0t).. ts.......
 0220 000050e8 fcffffff 83c41083 c4045b5e  ..P...........[^
 0230 c3c78300 00000000 000000eb ee8b4808  ..............H.
 0240 8b50048d b3390600 00566a30 ff7010ff  .P...9...Vj0.p..
 0250 700c8b00 e8fefdff ffbaf701 0000eceb  p...............
 0260 00eb0083 c410b9b7 0b0000a8 087541ec  .............uA.
 0270 eb00eb00 a8087538 83e90175 f28b830c  ......u8...u....
 0280 0000008b 00e8adfe ffffeb9f 8b48088b  .............H..
 0290 50048d9b 69050000 536a20ff 7010ff70  P...i...Sj .p..p
 02a0 0c8b00e8 affdffff 83c410e9 7bffffff  ............{...
 02b0 8b830c00 00008b50 1c8b7004 83e601c1  .......P..p.....
 02c0 e6090332 baf00100 00b90001 0000fcf3  ...2............
 02d0 666fe954 ffffff55 57565383 ec1ce8fc  fo.T...UWVS.....
 02e0 ffffff81 c3020000 00894424 0889d789  ..........D$....
 02f0 cd83f801 771a8b44 24388078 0b007524  ....w..D$8.x..u$
 0300 8b442438 c6400b01 8db3a004 0000eb3e  .D$8.@.........>
 0310 83ec0c8d 83000000 0050e8fc ffffff83  .........P......
 0320 c410ebd2 83ec0c8d 83000000 0050e8fc  .............P..
 0330 ffffff83 c410ebc8 39f07526 83ec0c8d  ........9.u&....
 0340 83040000 0050e8fc ffffff83 c4108d83  .....P..........
 0350 20000000 83380078 df83c024 39f075f4   ....8.x...$9.u.
 0360 ebda89fe 8938c740 04020000 00896c24  .....8.@......l$
 0370 0c896808 8b4c2430 894c2404 89480c8b  ..h..L$0.L$..H..
 0380 54243489 d5895010 837c2408 0119d283  T$4...P..|$.....
 0390 e2f083c2 30895014 8b4c2438 89481cc7  ....0.P..L$8.H..
 03a0 40180000 0000c740 20000000 00c78308  @......@ .......
 03b0 00000001 0000008b 930c0000 0085d274  ...............t
 03c0 188b7a20 85ff741c 8b572085 d20f84ae  ..z ..t..W .....
 03d0 00000089 442408eb 4b89830c 000000e9  ....D$..K.......
 03e0 a3000000 894220e9 9b000000 8b4f1039  .....B ......O.9
 03f0 cd7f1a75 378b4f0c 394c2404 7f0f394c  ...u7.O.9L$...9L
 0400 24047528 8b4c240c 3b4f087e 1f8b0239  $.u(.L$.;O.~...9
 0410 c60f8cae 00000074 3d8b4a20 89d785c9  .......t=.J ....
 0420 745989ca 8b0739c6 7fe374c0 8b0a39c8  tY....9...t...9.
 0430 7ce775d9 8b4f108b 421039c1 7cdb75cd  |.u..O..B.9.|.u.
 0440 8b4f0c8b 420c39c1 7ccf75c1 8b420839  .O..B.9.|.u..B.9
 0450 47087cc5 ebb78b42 1039c57c 6e75ba8b  G.|....B.9.|nu..
 0460 420c8b4c 240439c1 7c6775ad 8b44240c  B..L$.9.|gu..D$.
 0470 3b42087d a48b4424 08eb068b 44240889  ;B.}..D$....D$..
 0480 ca895020 894720c7 83080000 00000000  ..P .G .........
 0490 0083bb00 00000000 743dfa8b 44243880  ........t=..D$8.
 04a0 780b0074 178d700c 89c783ec 0c56e8fc  x..t..p......V..
 04b0 ffffff83 c410807f 0b0075ee fb83c41c  ..........u.....
 04c0 5b5e5f5d c38b4424 08ebb68b 442408eb  [^_]..D$....D$..
 04d0 b08b4424 08ebaae8 09fdffff ebbc5756  ..D$..........WV
 04e0 53e8fcff ffff81c3 02000000 8b830c00  S...............
 04f0 00008b30 8b50188d 4a018948 1883fa04  ...0.P..J..H....
 0500 7f0b89f0 e82efcff ff5b5e5f c38b501c  .........[^_..P.
 0510 c6420800 8b781c80 7f0b0074 38c6470b  .B...x.....t8.G.
 0520 0083ec0c 83c70c57 e8fcffff ff8d8304  .......W........
 0530 00000089 0424e8fc ffffff8b 830c0000  .....$..........
 0540 00c700ff ffffff8b 40208983 0c000000  ........@ ......
 0550 83c410eb ad83ec0c 8d830000 000050e8  ..............P.
 0560 fcffffff 83c410eb b4f30f1e fb555756  .............UWV
 0570 5383ec0c e8fcffff ff81c302 000000e8  S...............
 0580 7cfaffff 85c0753b 8b830c00 00008b70  |.....u;.......p
 0590 1c8b6804 89ef83e7 01c1e709 033ebaf0  ..h..........>..
 05a0 010000b9 00010000 fcf3666d c7401800  ..........fm.@..
 05b0 00000083 ed018968 04740f83 c40c5b5e  .......h.t....[^
 05c0 5f5dc3e8 16ffffff ebf1c646 08018b40  _].........F...@
 05d0 1cc64009 0083ec0c 8d830400 000050e8  ..@...........P.
 05e0 fcffffff 8b830c00 00008b70 1c83c410  ...........p....
 05f0 807e0b00 742fc646 0b0083ec 0c83c60c  .~..t/.F........
 0600 56e8fcff ffff8b83 0c000000 c700ffff  V...............
 0610 ffff8b40 2089830c 000000e8 c5fbffff  ...@ ...........
 0620 83c410eb 9683ec0c 8d830000 000050e8  ..............P.
 0630 fcffffff 83c410eb bdf30f1e fb565383  .............VS.
 0640 ec04e8fc ffffff81 c3020000 00e8aef9  ................
 0650 ffff85c0 75308b93 0c000000 8b420483  ....u0.......B..
 0660 e8018942 0474268b 421c8b30 81c60002  ...B.t&.B..0....
 0670 0000baf0 010000b9 00010000 fcf3666f  ..............fo
 0680 83c4045b 5ec3e853 feffffeb f38b421c  ...[^..S......B.
 0690 c6400801 8b421cc6 40090083 ec0c8d83  .@...B..@.......
 06a0 04000000 50e8fcff ffff8b83 0c000000  ....P...........
 06b0 8b701c83 c410807e 0b00742f c6460b00  .p.....~..t/.F..
 06c0 83ec0c83 c60c56e8 fcffffff 8b830c00  ......V.........
 06d0 0000c700 ffffffff 8b402089 830c0000  .........@ .....
 06e0 00e8fffa ffff83c4 10eb9583 ec0c8d83  ................
 06f0 00000000 50e8fcff ffff83c4 10ebbdf3  ....P...........
 0700 0f1efb55 57565383 ec1ce8fc ffffff81  ...UWVS.........
 0710 c7020000 008b7424 340fb656 0483fa09  ......t$4..V....
 0720 77120fb7 4e0601c9 8d41023b 84d7a404  w...N....A.;....
 0730 00007608 83c41c5b 5e5f5dc3 038cd7a0  ..v....[^_].....
 0740 040000bb cdcccccc 89d0f7e3 89d3c1eb  ................
 0750 028d2c1b 8d441d00 8b84c704 00000089  ..,..D..........
 0760 44240c89 c8b90000 000089ca 8b4c240c  D$...........L$.
 0770 f7f189d1 01dd8bbc ef000000 00ba0000  ................
 0780 0000f7f7 83c10183 ec045650 5289da8b  ..........VPR...
 0790 442440e8 3ffbffff 83c410eb 97f30f1e  D$@.?...........
 07a0 fb555756 5383ec2c e8fcffff ff81c302  .UWVS..,........
 07b0 00000083 bb000000 00000f84 30010000  ............0...
 07c0 c7830000 00000000 00008db3 a0040000  ................
 07d0 bf000000 008bab00 0000008d 83000000  ................
 07e0 00894424 1c8d8300 00000089 44240c89  ..D$........D$..
 07f0 6c24108d 83000000 00894424 18896c24  l$........D$..l$
 0800 14eb7083 ec0857ff 742428e8 fcffffff  ..p...W.t$(.....
 0810 83c404ff 742418e8 fcffffff 83c410eb  ....t$..........
 0820 7d83ec08 57ff7424 24e8fcff ffff83c4  }...W.t$$.......
 0830 04ff7424 18e8fcff ffff83c4 108b4424  ..t$..........D$
 0840 148b008b 10b80000 00008b8c 42c60100  ............B...
 0850 00894c06 088b8c42 ca010000 894c060c  ..L....B.....L..
 0860 83c00883 f82075e2 83c70183 c62883ff  ..... u......(..
 0870 02745283 ec04ff75 006a006a 00b90100  .tR....u.j.j....
 0880 000089fa b8000000 00e849fa ffff8b45  ..........I....E
 0890 0083c410 80780800 0f8465ff ffff8b44  .....x....e....D
 08a0 24108b00 8b0080b8 fe010000 550f856e  $...........U..n
 08b0 ffffff80 b8ff0100 00aa0f85 61ffffff  ............a...
 08c0 e978ffff ff83ec08 8d830000 0000508d  .x............P.
 08d0 83000000 0050e8fc ffffffe8 fcffffff  .....P..........
 08e0 83c410b8 00000000 83c42c5b 5e5f5dc3  ..........,[^_].
 08f0 b8ffffff ffebf1f3 0f1efb53 83ec14e8  ...........S....
 0900 fcffffff 81c30200 00008d83 00000000  ................
 0910 50e8fcff ffff83c4 185bc3f3 0f1efb53  P........[.....S
 0920 e8fcffff ff81c102 0000008d 81200000  ............. ..
 0930 008d9080 040000c7 00ffffff ffc74020  ..............@ 
 0940 00000000 83c02439 d075ecc7 81a00400  ......$9.u......
 0950 00000000 00c781a4 04000034 210000c7  ...........4!...
 0960 81c80400 00000000 00c781cc 04000034  ...............4
 0970 2100008b 99000000 008b9100 000000b8  !...............
 0980 00000800 6689d066 ba008f89 83780100  ....f..f.....x..
 0990 0089937c 010000ba 21000000 eceb00eb  ...|....!.......
 09a0 0025fb00 0000eeeb 00eb00ba a1000000  .%..............
 09b0 eceb00eb 0025bf00 0000ee5b c3        .....%.....[.   
Contents of section .data:
 0000 01000000                             ....            
Contents of section .rodata.str1.1:
 0000 54727969 6e672074 6f207772 69746520  Trying to write 
 0010 62616420 73656374 6f720048 4420636f  bad sector.HD co
 0020 6e74726f 6c6c6572 206e6f74 20726561  ntroller not rea
 0030 64790048 442d636f 6e74726f 6c6c6572  dy.HD-controller
 0040 20737469 6c6c2062 7573790a 0d00756e   still busy...un
 0050 6b6e6f77 6e206864 2d636f6d 6d616e64  known hd-command
 0060 00426164 20686420 636f6d6d 616e642c  .Bad hd command,
 0070 206d7573 74206265 20522f57 0068642e   must be R/W.hd.
 0080 633a2062 75666665 72206d75 6c746970  c: buffer multip
 0090 6c79206c 6f636b65 640a0000 73005061  ly locked...s.Pa
 00a0 72746974 696f6e20 7461626c 65257320  rtition table%s 
 00b0 6f6b2e0a 0d00556e 65787065 63746564  ok....Unexpected
 00c0 20484420 696e7465 72727570 740a0d00   HD interrupt...
Contents of section .rodata.str1.4:
 0000 48442d63 6f6e7472 6f6c6c65 72207265  HD-controller re
 0010 73657420 6661696c 65643a20 25303278  set failed: %02x
 0020 0a0d0000 68642e63 3a206672 65652062  ....hd.c: free b
 0030 75666665 72206265 696e6720 756e6c6f  uffer being unlo
 0040 636b6564 0a000000 556e6162 6c652074  cked....Unable t
 0050 6f207265 61642070 61727469 74696f6e  o read partition
 0060 20746162 6c65206f 66206472 69766520   table of drive 
 0070 25640a0d 00000000 42616420 70617274  %d......Bad part
 0080 6974696f 6e207461 626c6520 6f6e2064  ition table on d
 0090 72697665 2025640a 0d00               rive %d...      
Contents of section .rodata:
 0000 05000000 11000000 64000000 2c010000  ........d...,...
 0010 64000000 00000000 05000000 11000000  d...............
 0020 64000000 2c010000 64000000 00000000  d...,...d.......
Contents of section .text.__x86.get_pc_thunk.cx:
 0000 8b0c24c3                             ..$.            
Contents of section .text.__x86.get_pc_thunk.bx:
 0000 8b1c24c3                             ..$.            
Contents of section .text.__x86.get_pc_thunk.di:
 0000 8b3c24c3                             .<$.            
Contents of section .comment:
 0000 00474343 3a202855 62756e74 7520392e  .GCC: (Ubuntu 9.
 0010 332e302d 31307562 756e7475 32292039  3.0-10ubuntu2) 9
 0020 2e332e30 00                          .3.0.           
Contents of section .note.gnu.property:
 0000 04000000 0c000000 05000000 474e5500  ............GNU.
 0010 020000c0 04000000 03000000           ............    
Contents of section .eh_frame:
 0000 14000000 00000000 017a5200 017c0801  .........zR..|..
 0010 1b0c0404 88010000 10000000 1c000000  ................
 0020 00000000 2c000000 00000000 10000000  ....,...........
 0030 30000000 2c000000 2b000000 00000000  0...,...+.......
 0040 54000000 44000000 57000000 e0000000  T...D...W.......
 0050 00410e08 8502410e 0c870341 0e108604  .A....A....A....
 0060 410e1483 05430e20 780e2c47 0e30027e  A....C. x.,G.0.~
 0070 0e1441c3 0e1041c6 0e0c41c7 0e0841c5  ..A...A...A...A.
 0080 0e04410e 20830585 02860487 03430e2c  ..A. ........C.,
 0090 470e3048 0e200000 50000000 9c000000  G.0H. ..P.......
 00a0 37010000 ae000000 00410e08 8702410e  7........A....A.
 00b0 0c860341 0e108304 025e0e14 450e1845  ...A.....^..E..E
 00c0 0e1c420e 20540e10 410ac30e 0c41c60e  ..B. T..A....A..
 00d0 0841c70e 04410b43 0e1c470e 20480e10  .A...A.C..G. H..
 00e0 450e1841 0e1c470e 20480e10 50000000  E..A..G. H..P...
 00f0 f0000000 e5010000 f2000000 00450e08  .............E..
 0100 8602410e 0c830343 0e106e0e 1c470e20  ..A....C..n..G. 
 0110 480e1043 0a0e0c41 c30e0841 c60e0441  H..C...A...A...A
 0120 0b590e14 420e1843 0e1c430e 20540e10  .Y..B..C..C. T..
 0130 730e1442 0e18430e 1c430e20 4a0e1000  s..B..C..C. J...
 0140 60000000 44010000 d7020000 07020000  `...D...........
 0150 00410e08 8502410e 0c870341 0e108604  .A....A....A....
 0160 410e1483 05430e30 750e3c47 0e40480e  A....C.0u.<G.@H.
 0170 30450e3c 470e4048 0e30490e 3c470e40  0E.<G.@H.0I.<G.@
 0180 480e3003 5f010e3c 410e4048 0e304a0a  H.0._..<A.@H.0J.
 0190 0e1441c3 0e1041c6 0e0c41c7 0e0841c5  ..A...A...A...A.
 01a0 0e04410b 40000000 a8010000 de040000  ..A.@...........
 01b0 8b000000 00410e08 8702410e 0c860341  .....A....A....A
 01c0 0e108304 690ac30e 0c41c60e 0841c70e  ....i....A...A..
 01d0 04410b57 0e1c440e 206b0e10 450e1c47  .A.W..D. k..E..G
 01e0 0e20480e 10000000 58000000 ec010000  . H.....X.......
 01f0 69050000 d0000000 00450e08 8502410e  i........E....A.
 0200 0c870341 0e108604 410e1483 05430e20  ...A....A....C. 
 0210 024a0a0e 1441c30e 1041c60e 0c41c70e  .J...A...A...A..
 0220 0841c50e 04410b55 0e2c470e 30510e20  .A...A.U.,G.0Q. 
 0230 4d0e2c44 0e30620e 20450e2c 470e3048  M.,D.0b. E.,G.0H
 0240 0e200000 44000000 48020000 39060000  . ..D...H...9...
 0250 c6000000 00450e08 8602410e 0c830343  .....E....A....C
 0260 0e100241 0a0e0c41 c30e0841 c60e0441  ...A...A...A...A
 0270 0b580e1c 470e2051 0e104d0e 1c440e20  .X..G. Q..M..D. 
 0280 620e1045 0e1c470e 20480e10 4c000000  b..E..G. H..L...
 0290 90020000 ff060000 9e000000 00450e08  .............E..
 02a0 8502410e 0c870341 0e108604 410e1483  ..A....A....A...
 02b0 05430e30 6d0a0e14 41c30e10 41c60e0c  .C.0m...A...A...
 02c0 41c70e08 41c50e04 410b024e 0e34410e  A...A...A..N.4A.
 02d0 38410e3c 410e404e 0e300000 7c000000  8A.<A.@N.0..|...
 02e0 e0020000 9d070000 5a010000 00450e08  ........Z....E..
 02f0 8502410e 0c870341 0e108604 410e1483  ..A....A....A...
 0300 05430e40 025e0e48 410e4c44 0e50480e  .C.@.^.HA.LD.PH.
 0310 4c440e50 480e4045 0e48410e 4c440e50  LD.PH.@E.HA.LD.P
 0320 480e4c44 0e50480e 40790e44 430e4842  H.LD.PH.@y.DC.HB
 0330 0e4c420e 50570e40 740e4847 0e4c470e  .LB.PW.@t.HG.LG.
 0340 504d0e40 480a0e14 41c30e10 41c60e0c  PM.@H...A...A...
 0350 41c70e08 41c50e04 410b0000 20000000  A...A...A... ...
 0360 60030000 f7080000 24000000 00450e08  `.......$....E..
 0370 8302430e 1c520e20 480e0841 c30e0400  ..C..R. H..A....
 0380 18000000 84030000 1b090000 a2000000  ................
 0390 00450e08 8302029c c30e0400 10000000  .E..............
 03a0 a0030000 00000000 04000000 00000000  ................
 03b0 10000000 b4030000 00000000 04000000  ................
 03c0 00000000 10000000 c8030000 00000000  ................
 03d0 04000000 00000000                    ........        

Disassembly of section .text:

00000000 <win_result>:
   0:	ba f7 01 00 00       	mov    $0x1f7,%edx
   5:	ec                   	in     (%dx),%al
   6:	89 c1                	mov    %eax,%ecx
   8:	83 e1 f1             	and    $0xfffffff1,%ecx
   b:	ba 00 00 00 00       	mov    $0x0,%edx
  10:	80 f9 50             	cmp    $0x50,%cl
  13:	74 14                	je     29 <win_result+0x29>
  15:	ba 01 00 00 00       	mov    $0x1,%edx
  1a:	a8 01                	test   $0x1,%al
  1c:	74 0b                	je     29 <win_result+0x29>
  1e:	ba f1 01 00 00       	mov    $0x1f1,%edx
  23:	ec                   	in     (%dx),%al
  24:	ba 01 00 00 00       	mov    $0x1,%edx
  29:	89 d0                	mov    %edx,%eax
  2b:	c3                   	ret    

0000002c <drive_busy>:
  2c:	ba f7 01 00 00       	mov    $0x1f7,%edx
  31:	ec                   	in     (%dx),%al
  32:	83 e0 c0             	and    $0xffffffc0,%eax
  35:	3c 40                	cmp    $0x40,%al
  37:	74 12                	je     4b <drive_busy+0x1f>
  39:	b9 9f 86 01 00       	mov    $0x1869f,%ecx
  3e:	ec                   	in     (%dx),%al
  3f:	83 e0 c0             	and    $0xffffffc0,%eax
  42:	3c 40                	cmp    $0x40,%al
  44:	74 05                	je     4b <drive_busy+0x1f>
  46:	83 e9 01             	sub    $0x1,%ecx
  49:	75 f3                	jne    3e <drive_busy+0x12>
  4b:	ba f7 01 00 00       	mov    $0x1f7,%edx
  50:	ec                   	in     (%dx),%al
  51:	b8 00 00 00 00       	mov    $0x0,%eax
  56:	c3                   	ret    

00000057 <hd_out>:
  57:	55                   	push   %ebp
  58:	57                   	push   %edi
  59:	56                   	push   %esi
  5a:	53                   	push   %ebx
  5b:	83 ec 0c             	sub    $0xc,%esp
  5e:	e8 fc ff ff ff       	call   5f <hd_out+0x8>
			5f: R_386_PC32	__x86.get_pc_thunk.bx
  63:	81 c3 02 00 00 00    	add    $0x2,%ebx
			65: R_386_GOTPC	_GLOBAL_OFFSET_TABLE_
  69:	89 c6                	mov    %eax,%esi
  6b:	89 d5                	mov    %edx,%ebp
  6d:	89 cf                	mov    %ecx,%edi
  6f:	83 f8 01             	cmp    $0x1,%eax
  72:	0f 87 a8 00 00 00    	ja     120 <hd_out+0xc9>
  78:	83 7c 24 20 0f       	cmpl   $0xf,0x20(%esp)
  7d:	0f 87 9d 00 00 00    	ja     120 <hd_out+0xc9>
  83:	b9 0f 27 00 00       	mov    $0x270f,%ecx
  88:	ba f7 01 00 00       	mov    $0x1f7,%edx
  8d:	ec                   	in     (%dx),%al
  8e:	83 e9 01             	sub    $0x1,%ecx
  91:	75 fa                	jne    8d <hd_out+0x36>
  93:	83 ec 0c             	sub    $0xc,%esp
  96:	8d 83 00 00 00 00    	lea    0x0(%ebx),%eax
			98: R_386_GOTOFF	.LC1
  9c:	50                   	push   %eax
  9d:	e8 fc ff ff ff       	call   9e <hd_out+0x47>
			9e: R_386_PLT32	panic
  a2:	8b 44 24 3c          	mov    0x3c(%esp),%eax
  a6:	89 83 00 00 00 00    	mov    %eax,0x0(%ebx)
			a8: R_386_GOTOFF	do_hd
  ac:	b8 00 00 00 00       	mov    $0x0,%eax
  b1:	ba f6 03 00 00       	mov    $0x3f6,%edx
  b6:	ee                   	out    %al,(%dx)
  b7:	ba f1 01 00 00       	mov    $0x1f1,%edx
  bc:	b8 4b 00 00 00       	mov    $0x4b,%eax
  c1:	ee                   	out    %al,(%dx)
  c2:	eb 00                	jmp    c4 <hd_out+0x6d>
  c4:	eb 00                	jmp    c6 <hd_out+0x6f>
  c6:	ba f2 01 00 00       	mov    $0x1f2,%edx
  cb:	89 e8                	mov    %ebp,%eax
  cd:	ee                   	out    %al,(%dx)
  ce:	eb 00                	jmp    d0 <hd_out+0x79>
  d0:	eb 00                	jmp    d2 <hd_out+0x7b>
  d2:	ba f3 01 00 00       	mov    $0x1f3,%edx
  d7:	89 f8                	mov    %edi,%eax
  d9:	ee                   	out    %al,(%dx)
  da:	eb 00                	jmp    dc <hd_out+0x85>
  dc:	eb 00                	jmp    de <hd_out+0x87>
  de:	ba f4 01 00 00       	mov    $0x1f4,%edx
  e3:	8b 44 24 34          	mov    0x34(%esp),%eax
  e7:	ee                   	out    %al,(%dx)
  e8:	eb 00                	jmp    ea <hd_out+0x93>
  ea:	eb 00                	jmp    ec <hd_out+0x95>
  ec:	c1 e8 08             	shr    $0x8,%eax
  ef:	ba f5 01 00 00       	mov    $0x1f5,%edx
  f4:	ee                   	out    %al,(%dx)
  f5:	eb 00                	jmp    f7 <hd_out+0xa0>
  f7:	eb 00                	jmp    f9 <hd_out+0xa2>
  f9:	89 f0                	mov    %esi,%eax
  fb:	c1 e0 04             	shl    $0x4,%eax
  fe:	0b 44 24 30          	or     0x30(%esp),%eax
 102:	0c a0                	or     $0xa0,%al
 104:	ba f6 01 00 00       	mov    $0x1f6,%edx
 109:	ee                   	out    %al,(%dx)
 10a:	eb 00                	jmp    10c <hd_out+0xb5>
 10c:	eb 00                	jmp    10e <hd_out+0xb7>
 10e:	ba f7 01 00 00       	mov    $0x1f7,%edx
 113:	8b 44 24 38          	mov    0x38(%esp),%eax
 117:	ee                   	out    %al,(%dx)
 118:	83 c4 1c             	add    $0x1c,%esp
 11b:	5b                   	pop    %ebx
 11c:	5e                   	pop    %esi
 11d:	5f                   	pop    %edi
 11e:	5d                   	pop    %ebp
 11f:	c3                   	ret    
 120:	83 ec 0c             	sub    $0xc,%esp
 123:	8d 83 00 00 00 00    	lea    0x0(%ebx),%eax
			125: R_386_GOTOFF	.LC0
 129:	50                   	push   %eax
 12a:	e8 fc ff ff ff       	call   12b <hd_out+0xd4>
			12b: R_386_PLT32	panic
 12f:	83 c4 10             	add    $0x10,%esp
 132:	e9 4c ff ff ff       	jmp    83 <hd_out+0x2c>

00000137 <reset_hd>:
 137:	57                   	push   %edi
 138:	56                   	push   %esi
 139:	53                   	push   %ebx
 13a:	e8 fc ff ff ff       	call   13b <reset_hd+0x4>
			13b: R_386_PC32	__x86.get_pc_thunk.bx
 13f:	81 c3 02 00 00 00    	add    $0x2,%ebx
			141: R_386_GOTPC	_GLOBAL_OFFSET_TABLE_
 145:	89 c6                	mov    %eax,%esi
 147:	b8 04 00 00 00       	mov    $0x4,%eax
 14c:	ba f6 03 00 00       	mov    $0x3f6,%edx
 151:	ee                   	out    %al,(%dx)
 152:	b8 e8 03 00 00       	mov    $0x3e8,%eax
 157:	90                   	nop
 158:	83 e8 01             	sub    $0x1,%eax
 15b:	75 fa                	jne    157 <reset_hd+0x20>
 15d:	b8 00 00 00 00       	mov    $0x0,%eax
 162:	ba f6 03 00 00       	mov    $0x3f6,%edx
 167:	ee                   	out    %al,(%dx)
 168:	bf 10 27 00 00       	mov    $0x2710,%edi
 16d:	e8 ba fe ff ff       	call   2c <drive_busy>
 172:	85 c0                	test   %eax,%eax
 174:	74 05                	je     17b <reset_hd+0x44>
 176:	83 ef 01             	sub    $0x1,%edi
 179:	75 f2                	jne    16d <reset_hd+0x36>
 17b:	e8 ac fe ff ff       	call   2c <drive_busy>
 180:	85 c0                	test   %eax,%eax
 182:	75 38                	jne    1bc <reset_hd+0x85>
 184:	ba 01 00 00 00       	mov    $0x1,%edx
 189:	ec                   	in     (%dx),%al
 18a:	0f b6 d0             	movzbl %al,%edx
 18d:	3c 01                	cmp    $0x1,%al
 18f:	75 3f                	jne    1d0 <reset_hd+0x99>
 191:	8d 83 e5 01 00 00    	lea    0x1e5(%ebx),%eax
			193: R_386_GOTOFF	.text
 197:	50                   	push   %eax
 198:	68 91 00 00 00       	push   $0x91
 19d:	68 d1 03 00 00       	push   $0x3d1
 1a2:	6a 04                	push   $0x4
 1a4:	b9 11 00 00 00       	mov    $0x11,%ecx
 1a9:	ba 11 00 00 00       	mov    $0x11,%edx
 1ae:	89 f0                	mov    %esi,%eax
 1b0:	e8 a2 fe ff ff       	call   57 <hd_out>
 1b5:	83 c4 10             	add    $0x10,%esp
 1b8:	5b                   	pop    %ebx
 1b9:	5e                   	pop    %esi
 1ba:	5f                   	pop    %edi
 1bb:	c3                   	ret    
 1bc:	83 ec 0c             	sub    $0xc,%esp
 1bf:	8d 83 00 00 00 00    	lea    0x0(%ebx),%eax
			1c1: R_386_GOTOFF	.LC2
 1c5:	50                   	push   %eax
 1c6:	e8 fc ff ff ff       	call   1c7 <reset_hd+0x90>
			1c7: R_386_PLT32	printk
 1cb:	83 c4 10             	add    $0x10,%esp
 1ce:	eb b4                	jmp    184 <reset_hd+0x4d>
 1d0:	83 ec 08             	sub    $0x8,%esp
 1d3:	52                   	push   %edx
 1d4:	8d 83 00 00 00 00    	lea    0x0(%ebx),%eax
			1d6: R_386_GOTOFF	.LC3
 1da:	50                   	push   %eax
 1db:	e8 fc ff ff ff       	call   1dc <reset_hd+0xa5>
			1dc: R_386_PLT32	printk
 1e0:	83 c4 10             	add    $0x10,%esp
 1e3:	eb ac                	jmp    191 <reset_hd+0x5a>

000001e5 <do_request>:
 1e5:	f3 0f 1e fb          	endbr32 
 1e9:	56                   	push   %esi
 1ea:	53                   	push   %ebx
 1eb:	83 ec 04             	sub    $0x4,%esp
 1ee:	e8 fc ff ff ff       	call   1ef <do_request+0xa>
			1ef: R_386_PC32	__x86.get_pc_thunk.bx
 1f3:	81 c3 02 00 00 00    	add    $0x2,%ebx
			1f5: R_386_GOTPC	_GLOBAL_OFFSET_TABLE_
 1f9:	83 bb 08 00 00 00 00 	cmpl   $0x0,0x8(%ebx)
			1fb: R_386_GOTOFF	.bss
 200:	75 29                	jne    22b <do_request+0x46>
 202:	8b 83 0c 00 00 00    	mov    0xc(%ebx),%eax
			204: R_386_GOTOFF	.bss
 208:	85 c0                	test   %eax,%eax
 20a:	74 25                	je     231 <do_request+0x4c>
 20c:	8b 50 14             	mov    0x14(%eax),%edx
 20f:	83 fa 30             	cmp    $0x30,%edx
 212:	74 29                	je     23d <do_request+0x58>
 214:	83 fa 20             	cmp    $0x20,%edx
 217:	74 73                	je     28c <do_request+0xa7>
 219:	83 ec 0c             	sub    $0xc,%esp
 21c:	8d 83 00 00 00 00    	lea    0x0(%ebx),%eax
			21e: R_386_GOTOFF	.LC4
 222:	50                   	push   %eax
 223:	e8 fc ff ff ff       	call   224 <do_request+0x3f>
			224: R_386_PLT32	panic
 228:	83 c4 10             	add    $0x10,%esp
 22b:	83 c4 04             	add    $0x4,%esp
 22e:	5b                   	pop    %ebx
 22f:	5e                   	pop    %esi
 230:	c3                   	ret    
 231:	c7 83 00 00 00 00 00 	movl   $0x0,0x0(%ebx)
 238:	00 00 00 
			233: R_386_GOTOFF	do_hd
 23b:	eb ee                	jmp    22b <do_request+0x46>
 23d:	8b 48 08             	mov    0x8(%eax),%ecx
 240:	8b 50 04             	mov    0x4(%eax),%edx
 243:	8d b3 39 06 00 00    	lea    0x639(%ebx),%esi
			245: R_386_GOTOFF	.text
 249:	56                   	push   %esi
 24a:	6a 30                	push   $0x30
 24c:	ff 70 10             	pushl  0x10(%eax)
 24f:	ff 70 0c             	pushl  0xc(%eax)
 252:	8b 00                	mov    (%eax),%eax
 254:	e8 fe fd ff ff       	call   57 <hd_out>
 259:	ba f7 01 00 00       	mov    $0x1f7,%edx
 25e:	ec                   	in     (%dx),%al
 25f:	eb 00                	jmp    261 <do_request+0x7c>
 261:	eb 00                	jmp    263 <do_request+0x7e>
 263:	83 c4 10             	add    $0x10,%esp
 266:	b9 b7 0b 00 00       	mov    $0xbb7,%ecx
 26b:	a8 08                	test   $0x8,%al
 26d:	75 41                	jne    2b0 <do_request+0xcb>
 26f:	ec                   	in     (%dx),%al
 270:	eb 00                	jmp    272 <do_request+0x8d>
 272:	eb 00                	jmp    274 <do_request+0x8f>
 274:	a8 08                	test   $0x8,%al
 276:	75 38                	jne    2b0 <do_request+0xcb>
 278:	83 e9 01             	sub    $0x1,%ecx
 27b:	75 f2                	jne    26f <do_request+0x8a>
 27d:	8b 83 0c 00 00 00    	mov    0xc(%ebx),%eax
			27f: R_386_GOTOFF	.bss
 283:	8b 00                	mov    (%eax),%eax
 285:	e8 ad fe ff ff       	call   137 <reset_hd>
 28a:	eb 9f                	jmp    22b <do_request+0x46>
 28c:	8b 48 08             	mov    0x8(%eax),%ecx
 28f:	8b 50 04             	mov    0x4(%eax),%edx
 292:	8d 9b 69 05 00 00    	lea    0x569(%ebx),%ebx
			294: R_386_GOTOFF	.text
 298:	53                   	push   %ebx
 299:	6a 20                	push   $0x20
 29b:	ff 70 10             	pushl  0x10(%eax)
 29e:	ff 70 0c             	pushl  0xc(%eax)
 2a1:	8b 00                	mov    (%eax),%eax
 2a3:	e8 af fd ff ff       	call   57 <hd_out>
 2a8:	83 c4 10             	add    $0x10,%esp
 2ab:	e9 7b ff ff ff       	jmp    22b <do_request+0x46>
 2b0:	8b 83 0c 00 00 00    	mov    0xc(%ebx),%eax
			2b2: R_386_GOTOFF	.bss
 2b6:	8b 50 1c             	mov    0x1c(%eax),%edx
 2b9:	8b 70 04             	mov    0x4(%eax),%esi
 2bc:	83 e6 01             	and    $0x1,%esi
 2bf:	c1 e6 09             	shl    $0x9,%esi
 2c2:	03 32                	add    (%edx),%esi
 2c4:	ba f0 01 00 00       	mov    $0x1f0,%edx
 2c9:	b9 00 01 00 00       	mov    $0x100,%ecx
 2ce:	fc                   	cld    
 2cf:	f3 66 6f             	rep outsw %ds:(%esi),(%dx)
 2d2:	e9 54 ff ff ff       	jmp    22b <do_request+0x46>

000002d7 <rw_abs_hd>:
 2d7:	55                   	push   %ebp
 2d8:	57                   	push   %edi
 2d9:	56                   	push   %esi
 2da:	53                   	push   %ebx
 2db:	83 ec 1c             	sub    $0x1c,%esp
 2de:	e8 fc ff ff ff       	call   2df <rw_abs_hd+0x8>
			2df: R_386_PC32	__x86.get_pc_thunk.bx
 2e3:	81 c3 02 00 00 00    	add    $0x2,%ebx
			2e5: R_386_GOTPC	_GLOBAL_OFFSET_TABLE_
 2e9:	89 44 24 08          	mov    %eax,0x8(%esp)
 2ed:	89 d7                	mov    %edx,%edi
 2ef:	89 cd                	mov    %ecx,%ebp
 2f1:	83 f8 01             	cmp    $0x1,%eax
 2f4:	77 1a                	ja     310 <rw_abs_hd+0x39>
 2f6:	8b 44 24 38          	mov    0x38(%esp),%eax
 2fa:	80 78 0b 00          	cmpb   $0x0,0xb(%eax)
 2fe:	75 24                	jne    324 <rw_abs_hd+0x4d>
 300:	8b 44 24 38          	mov    0x38(%esp),%eax
 304:	c6 40 0b 01          	movb   $0x1,0xb(%eax)
 308:	8d b3 a0 04 00 00    	lea    0x4a0(%ebx),%esi
			30a: R_386_GOTOFF	.bss
 30e:	eb 3e                	jmp    34e <rw_abs_hd+0x77>
 310:	83 ec 0c             	sub    $0xc,%esp
 313:	8d 83 00 00 00 00    	lea    0x0(%ebx),%eax
			315: R_386_GOTOFF	.LC5
 319:	50                   	push   %eax
 31a:	e8 fc ff ff ff       	call   31b <rw_abs_hd+0x44>
			31b: R_386_PLT32	panic
 31f:	83 c4 10             	add    $0x10,%esp
 322:	eb d2                	jmp    2f6 <rw_abs_hd+0x1f>
 324:	83 ec 0c             	sub    $0xc,%esp
 327:	8d 83 00 00 00 00    	lea    0x0(%ebx),%eax
			329: R_386_GOTOFF	.LC6
 32d:	50                   	push   %eax
 32e:	e8 fc ff ff ff       	call   32f <rw_abs_hd+0x58>
			32f: R_386_PLT32	printk
 333:	83 c4 10             	add    $0x10,%esp
 336:	eb c8                	jmp    300 <rw_abs_hd+0x29>
 338:	39 f0                	cmp    %esi,%eax
 33a:	75 26                	jne    362 <rw_abs_hd+0x8b>
 33c:	83 ec 0c             	sub    $0xc,%esp
 33f:	8d 83 04 00 00 00    	lea    0x4(%ebx),%eax
			341: R_386_GOTOFF	.bss
 345:	50                   	push   %eax
 346:	e8 fc ff ff ff       	call   347 <rw_abs_hd+0x70>
			347: R_386_PLT32	sleep_on
 34b:	83 c4 10             	add    $0x10,%esp
 34e:	8d 83 20 00 00 00    	lea    0x20(%ebx),%eax
			350: R_386_GOTOFF	.bss
 354:	83 38 00             	cmpl   $0x0,(%eax)
 357:	78 df                	js     338 <rw_abs_hd+0x61>
 359:	83 c0 24             	add    $0x24,%eax
 35c:	39 f0                	cmp    %esi,%eax
 35e:	75 f4                	jne    354 <rw_abs_hd+0x7d>
 360:	eb da                	jmp    33c <rw_abs_hd+0x65>
 362:	89 fe                	mov    %edi,%esi
 364:	89 38                	mov    %edi,(%eax)
 366:	c7 40 04 02 00 00 00 	movl   $0x2,0x4(%eax)
 36d:	89 6c 24 0c          	mov    %ebp,0xc(%esp)
 371:	89 68 08             	mov    %ebp,0x8(%eax)
 374:	8b 4c 24 30          	mov    0x30(%esp),%ecx
 378:	89 4c 24 04          	mov    %ecx,0x4(%esp)
 37c:	89 48 0c             	mov    %ecx,0xc(%eax)
 37f:	8b 54 24 34          	mov    0x34(%esp),%edx
 383:	89 d5                	mov    %edx,%ebp
 385:	89 50 10             	mov    %edx,0x10(%eax)
 388:	83 7c 24 08 01       	cmpl   $0x1,0x8(%esp)
 38d:	19 d2                	sbb    %edx,%edx
 38f:	83 e2 f0             	and    $0xfffffff0,%edx
 392:	83 c2 30             	add    $0x30,%edx
 395:	89 50 14             	mov    %edx,0x14(%eax)
 398:	8b 4c 24 38          	mov    0x38(%esp),%ecx
 39c:	89 48 1c             	mov    %ecx,0x1c(%eax)
 39f:	c7 40 18 00 00 00 00 	movl   $0x0,0x18(%eax)
 3a6:	c7 40 20 00 00 00 00 	movl   $0x0,0x20(%eax)
 3ad:	c7 83 08 00 00 00 01 	movl   $0x1,0x8(%ebx)
 3b4:	00 00 00 
			3af: R_386_GOTOFF	.bss
 3b7:	8b 93 0c 00 00 00    	mov    0xc(%ebx),%edx
			3b9: R_386_GOTOFF	.bss
 3bd:	85 d2                	test   %edx,%edx
 3bf:	74 18                	je     3d9 <rw_abs_hd+0x102>
 3c1:	8b 7a 20             	mov    0x20(%edx),%edi
 3c4:	85 ff                	test   %edi,%edi
 3c6:	74 1c                	je     3e4 <rw_abs_hd+0x10d>
 3c8:	8b 57 20             	mov    0x20(%edi),%edx
 3cb:	85 d2                	test   %edx,%edx
 3cd:	0f 84 ae 00 00 00    	je     481 <rw_abs_hd+0x1aa>
 3d3:	89 44 24 08          	mov    %eax,0x8(%esp)
 3d7:	eb 4b                	jmp    424 <rw_abs_hd+0x14d>
 3d9:	89 83 0c 00 00 00    	mov    %eax,0xc(%ebx)
			3db: R_386_GOTOFF	.bss
 3df:	e9 a3 00 00 00       	jmp    487 <rw_abs_hd+0x1b0>
 3e4:	89 42 20             	mov    %eax,0x20(%edx)
 3e7:	e9 9b 00 00 00       	jmp    487 <rw_abs_hd+0x1b0>
 3ec:	8b 4f 10             	mov    0x10(%edi),%ecx
 3ef:	39 cd                	cmp    %ecx,%ebp
 3f1:	7f 1a                	jg     40d <rw_abs_hd+0x136>
 3f3:	75 37                	jne    42c <rw_abs_hd+0x155>
 3f5:	8b 4f 0c             	mov    0xc(%edi),%ecx
 3f8:	39 4c 24 04          	cmp    %ecx,0x4(%esp)
 3fc:	7f 0f                	jg     40d <rw_abs_hd+0x136>
 3fe:	39 4c 24 04          	cmp    %ecx,0x4(%esp)
 402:	75 28                	jne    42c <rw_abs_hd+0x155>
 404:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
 408:	3b 4f 08             	cmp    0x8(%edi),%ecx
 40b:	7e 1f                	jle    42c <rw_abs_hd+0x155>
 40d:	8b 02                	mov    (%edx),%eax
 40f:	39 c6                	cmp    %eax,%esi
 411:	0f 8c ae 00 00 00    	jl     4c5 <rw_abs_hd+0x1ee>
 417:	74 3d                	je     456 <rw_abs_hd+0x17f>
 419:	8b 4a 20             	mov    0x20(%edx),%ecx
 41c:	89 d7                	mov    %edx,%edi
 41e:	85 c9                	test   %ecx,%ecx
 420:	74 59                	je     47b <rw_abs_hd+0x1a4>
 422:	89 ca                	mov    %ecx,%edx
 424:	8b 07                	mov    (%edi),%eax
 426:	39 c6                	cmp    %eax,%esi
 428:	7f e3                	jg     40d <rw_abs_hd+0x136>
 42a:	74 c0                	je     3ec <rw_abs_hd+0x115>
 42c:	8b 0a                	mov    (%edx),%ecx
 42e:	39 c8                	cmp    %ecx,%eax
 430:	7c e7                	jl     419 <rw_abs_hd+0x142>
 432:	75 d9                	jne    40d <rw_abs_hd+0x136>
 434:	8b 4f 10             	mov    0x10(%edi),%ecx
 437:	8b 42 10             	mov    0x10(%edx),%eax
 43a:	39 c1                	cmp    %eax,%ecx
 43c:	7c db                	jl     419 <rw_abs_hd+0x142>
 43e:	75 cd                	jne    40d <rw_abs_hd+0x136>
 440:	8b 4f 0c             	mov    0xc(%edi),%ecx
 443:	8b 42 0c             	mov    0xc(%edx),%eax
 446:	39 c1                	cmp    %eax,%ecx
 448:	7c cf                	jl     419 <rw_abs_hd+0x142>
 44a:	75 c1                	jne    40d <rw_abs_hd+0x136>
 44c:	8b 42 08             	mov    0x8(%edx),%eax
 44f:	39 47 08             	cmp    %eax,0x8(%edi)
 452:	7c c5                	jl     419 <rw_abs_hd+0x142>
 454:	eb b7                	jmp    40d <rw_abs_hd+0x136>
 456:	8b 42 10             	mov    0x10(%edx),%eax
 459:	39 c5                	cmp    %eax,%ebp
 45b:	7c 6e                	jl     4cb <rw_abs_hd+0x1f4>
 45d:	75 ba                	jne    419 <rw_abs_hd+0x142>
 45f:	8b 42 0c             	mov    0xc(%edx),%eax
 462:	8b 4c 24 04          	mov    0x4(%esp),%ecx
 466:	39 c1                	cmp    %eax,%ecx
 468:	7c 67                	jl     4d1 <rw_abs_hd+0x1fa>
 46a:	75 ad                	jne    419 <rw_abs_hd+0x142>
 46c:	8b 44 24 0c          	mov    0xc(%esp),%eax
 470:	3b 42 08             	cmp    0x8(%edx),%eax
 473:	7d a4                	jge    419 <rw_abs_hd+0x142>
 475:	8b 44 24 08          	mov    0x8(%esp),%eax
 479:	eb 06                	jmp    481 <rw_abs_hd+0x1aa>
 47b:	8b 44 24 08          	mov    0x8(%esp),%eax
 47f:	89 ca                	mov    %ecx,%edx
 481:	89 50 20             	mov    %edx,0x20(%eax)
 484:	89 47 20             	mov    %eax,0x20(%edi)
 487:	c7 83 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
 48e:	00 00 00 
			489: R_386_GOTOFF	.bss
 491:	83 bb 00 00 00 00 00 	cmpl   $0x0,0x0(%ebx)
			493: R_386_GOTOFF	do_hd
 498:	74 3d                	je     4d7 <rw_abs_hd+0x200>
 49a:	fa                   	cli    
 49b:	8b 44 24 38          	mov    0x38(%esp),%eax
 49f:	80 78 0b 00          	cmpb   $0x0,0xb(%eax)
 4a3:	74 17                	je     4bc <rw_abs_hd+0x1e5>
 4a5:	8d 70 0c             	lea    0xc(%eax),%esi
 4a8:	89 c7                	mov    %eax,%edi
 4aa:	83 ec 0c             	sub    $0xc,%esp
 4ad:	56                   	push   %esi
 4ae:	e8 fc ff ff ff       	call   4af <rw_abs_hd+0x1d8>
			4af: R_386_PLT32	sleep_on
 4b3:	83 c4 10             	add    $0x10,%esp
 4b6:	80 7f 0b 00          	cmpb   $0x0,0xb(%edi)
 4ba:	75 ee                	jne    4aa <rw_abs_hd+0x1d3>
 4bc:	fb                   	sti    
 4bd:	83 c4 1c             	add    $0x1c,%esp
 4c0:	5b                   	pop    %ebx
 4c1:	5e                   	pop    %esi
 4c2:	5f                   	pop    %edi
 4c3:	5d                   	pop    %ebp
 4c4:	c3                   	ret    
 4c5:	8b 44 24 08          	mov    0x8(%esp),%eax
 4c9:	eb b6                	jmp    481 <rw_abs_hd+0x1aa>
 4cb:	8b 44 24 08          	mov    0x8(%esp),%eax
 4cf:	eb b0                	jmp    481 <rw_abs_hd+0x1aa>
 4d1:	8b 44 24 08          	mov    0x8(%esp),%eax
 4d5:	eb aa                	jmp    481 <rw_abs_hd+0x1aa>
 4d7:	e8 09 fd ff ff       	call   1e5 <do_request>
 4dc:	eb bc                	jmp    49a <rw_abs_hd+0x1c3>

000004de <bad_rw_intr>:
 4de:	57                   	push   %edi
 4df:	56                   	push   %esi
 4e0:	53                   	push   %ebx
 4e1:	e8 fc ff ff ff       	call   4e2 <bad_rw_intr+0x4>
			4e2: R_386_PC32	__x86.get_pc_thunk.bx
 4e6:	81 c3 02 00 00 00    	add    $0x2,%ebx
			4e8: R_386_GOTPC	_GLOBAL_OFFSET_TABLE_
 4ec:	8b 83 0c 00 00 00    	mov    0xc(%ebx),%eax
			4ee: R_386_GOTOFF	.bss
 4f2:	8b 30                	mov    (%eax),%esi
 4f4:	8b 50 18             	mov    0x18(%eax),%edx
 4f7:	8d 4a 01             	lea    0x1(%edx),%ecx
 4fa:	89 48 18             	mov    %ecx,0x18(%eax)
 4fd:	83 fa 04             	cmp    $0x4,%edx
 500:	7f 0b                	jg     50d <bad_rw_intr+0x2f>
 502:	89 f0                	mov    %esi,%eax
 504:	e8 2e fc ff ff       	call   137 <reset_hd>
 509:	5b                   	pop    %ebx
 50a:	5e                   	pop    %esi
 50b:	5f                   	pop    %edi
 50c:	c3                   	ret    
 50d:	8b 50 1c             	mov    0x1c(%eax),%edx
 510:	c6 42 08 00          	movb   $0x0,0x8(%edx)
 514:	8b 78 1c             	mov    0x1c(%eax),%edi
 517:	80 7f 0b 00          	cmpb   $0x0,0xb(%edi)
 51b:	74 38                	je     555 <bad_rw_intr+0x77>
 51d:	c6 47 0b 00          	movb   $0x0,0xb(%edi)
 521:	83 ec 0c             	sub    $0xc,%esp
 524:	83 c7 0c             	add    $0xc,%edi
 527:	57                   	push   %edi
 528:	e8 fc ff ff ff       	call   529 <bad_rw_intr+0x4b>
			529: R_386_PLT32	wake_up
 52d:	8d 83 04 00 00 00    	lea    0x4(%ebx),%eax
			52f: R_386_GOTOFF	.bss
 533:	89 04 24             	mov    %eax,(%esp)
 536:	e8 fc ff ff ff       	call   537 <bad_rw_intr+0x59>
			537: R_386_PLT32	wake_up
 53b:	8b 83 0c 00 00 00    	mov    0xc(%ebx),%eax
			53d: R_386_GOTOFF	.bss
 541:	c7 00 ff ff ff ff    	movl   $0xffffffff,(%eax)
 547:	8b 40 20             	mov    0x20(%eax),%eax
 54a:	89 83 0c 00 00 00    	mov    %eax,0xc(%ebx)
			54c: R_386_GOTOFF	.bss
 550:	83 c4 10             	add    $0x10,%esp
 553:	eb ad                	jmp    502 <bad_rw_intr+0x24>
 555:	83 ec 0c             	sub    $0xc,%esp
 558:	8d 83 00 00 00 00    	lea    0x0(%ebx),%eax
			55a: R_386_GOTOFF	.LC7
 55e:	50                   	push   %eax
 55f:	e8 fc ff ff ff       	call   560 <bad_rw_intr+0x82>
			560: R_386_PLT32	printk
 564:	83 c4 10             	add    $0x10,%esp
 567:	eb b4                	jmp    51d <bad_rw_intr+0x3f>

00000569 <read_intr>:
 569:	f3 0f 1e fb          	endbr32 
 56d:	55                   	push   %ebp
 56e:	57                   	push   %edi
 56f:	56                   	push   %esi
 570:	53                   	push   %ebx
 571:	83 ec 0c             	sub    $0xc,%esp
 574:	e8 fc ff ff ff       	call   575 <read_intr+0xc>
			575: R_386_PC32	__x86.get_pc_thunk.bx
 579:	81 c3 02 00 00 00    	add    $0x2,%ebx
			57b: R_386_GOTPC	_GLOBAL_OFFSET_TABLE_
 57f:	e8 7c fa ff ff       	call   0 <win_result>
 584:	85 c0                	test   %eax,%eax
 586:	75 3b                	jne    5c3 <read_intr+0x5a>
 588:	8b 83 0c 00 00 00    	mov    0xc(%ebx),%eax
			58a: R_386_GOTOFF	.bss
 58e:	8b 70 1c             	mov    0x1c(%eax),%esi
 591:	8b 68 04             	mov    0x4(%eax),%ebp
 594:	89 ef                	mov    %ebp,%edi
 596:	83 e7 01             	and    $0x1,%edi
 599:	c1 e7 09             	shl    $0x9,%edi
 59c:	03 3e                	add    (%esi),%edi
 59e:	ba f0 01 00 00       	mov    $0x1f0,%edx
 5a3:	b9 00 01 00 00       	mov    $0x100,%ecx
 5a8:	fc                   	cld    
 5a9:	f3 66 6d             	rep insw (%dx),%es:(%edi)
 5ac:	c7 40 18 00 00 00 00 	movl   $0x0,0x18(%eax)
 5b3:	83 ed 01             	sub    $0x1,%ebp
 5b6:	89 68 04             	mov    %ebp,0x4(%eax)
 5b9:	74 0f                	je     5ca <read_intr+0x61>
 5bb:	83 c4 0c             	add    $0xc,%esp
 5be:	5b                   	pop    %ebx
 5bf:	5e                   	pop    %esi
 5c0:	5f                   	pop    %edi
 5c1:	5d                   	pop    %ebp
 5c2:	c3                   	ret    
 5c3:	e8 16 ff ff ff       	call   4de <bad_rw_intr>
 5c8:	eb f1                	jmp    5bb <read_intr+0x52>
 5ca:	c6 46 08 01          	movb   $0x1,0x8(%esi)
 5ce:	8b 40 1c             	mov    0x1c(%eax),%eax
 5d1:	c6 40 09 00          	movb   $0x0,0x9(%eax)
 5d5:	83 ec 0c             	sub    $0xc,%esp
 5d8:	8d 83 04 00 00 00    	lea    0x4(%ebx),%eax
			5da: R_386_GOTOFF	.bss
 5de:	50                   	push   %eax
 5df:	e8 fc ff ff ff       	call   5e0 <read_intr+0x77>
			5e0: R_386_PLT32	wake_up
 5e4:	8b 83 0c 00 00 00    	mov    0xc(%ebx),%eax
			5e6: R_386_GOTOFF	.bss
 5ea:	8b 70 1c             	mov    0x1c(%eax),%esi
 5ed:	83 c4 10             	add    $0x10,%esp
 5f0:	80 7e 0b 00          	cmpb   $0x0,0xb(%esi)
 5f4:	74 2f                	je     625 <read_intr+0xbc>
 5f6:	c6 46 0b 00          	movb   $0x0,0xb(%esi)
 5fa:	83 ec 0c             	sub    $0xc,%esp
 5fd:	83 c6 0c             	add    $0xc,%esi
 600:	56                   	push   %esi
 601:	e8 fc ff ff ff       	call   602 <read_intr+0x99>
			602: R_386_PLT32	wake_up
 606:	8b 83 0c 00 00 00    	mov    0xc(%ebx),%eax
			608: R_386_GOTOFF	.bss
 60c:	c7 00 ff ff ff ff    	movl   $0xffffffff,(%eax)
 612:	8b 40 20             	mov    0x20(%eax),%eax
 615:	89 83 0c 00 00 00    	mov    %eax,0xc(%ebx)
			617: R_386_GOTOFF	.bss
 61b:	e8 c5 fb ff ff       	call   1e5 <do_request>
 620:	83 c4 10             	add    $0x10,%esp
 623:	eb 96                	jmp    5bb <read_intr+0x52>
 625:	83 ec 0c             	sub    $0xc,%esp
 628:	8d 83 00 00 00 00    	lea    0x0(%ebx),%eax
			62a: R_386_GOTOFF	.LC7
 62e:	50                   	push   %eax
 62f:	e8 fc ff ff ff       	call   630 <read_intr+0xc7>
			630: R_386_PLT32	printk
 634:	83 c4 10             	add    $0x10,%esp
 637:	eb bd                	jmp    5f6 <read_intr+0x8d>

00000639 <write_intr>:
 639:	f3 0f 1e fb          	endbr32 
 63d:	56                   	push   %esi
 63e:	53                   	push   %ebx
 63f:	83 ec 04             	sub    $0x4,%esp
 642:	e8 fc ff ff ff       	call   643 <write_intr+0xa>
			643: R_386_PC32	__x86.get_pc_thunk.bx
 647:	81 c3 02 00 00 00    	add    $0x2,%ebx
			649: R_386_GOTPC	_GLOBAL_OFFSET_TABLE_
 64d:	e8 ae f9 ff ff       	call   0 <win_result>
 652:	85 c0                	test   %eax,%eax
 654:	75 30                	jne    686 <write_intr+0x4d>
 656:	8b 93 0c 00 00 00    	mov    0xc(%ebx),%edx
			658: R_386_GOTOFF	.bss
 65c:	8b 42 04             	mov    0x4(%edx),%eax
 65f:	83 e8 01             	sub    $0x1,%eax
 662:	89 42 04             	mov    %eax,0x4(%edx)
 665:	74 26                	je     68d <write_intr+0x54>
 667:	8b 42 1c             	mov    0x1c(%edx),%eax
 66a:	8b 30                	mov    (%eax),%esi
 66c:	81 c6 00 02 00 00    	add    $0x200,%esi
 672:	ba f0 01 00 00       	mov    $0x1f0,%edx
 677:	b9 00 01 00 00       	mov    $0x100,%ecx
 67c:	fc                   	cld    
 67d:	f3 66 6f             	rep outsw %ds:(%esi),(%dx)
 680:	83 c4 04             	add    $0x4,%esp
 683:	5b                   	pop    %ebx
 684:	5e                   	pop    %esi
 685:	c3                   	ret    
 686:	e8 53 fe ff ff       	call   4de <bad_rw_intr>
 68b:	eb f3                	jmp    680 <write_intr+0x47>
 68d:	8b 42 1c             	mov    0x1c(%edx),%eax
 690:	c6 40 08 01          	movb   $0x1,0x8(%eax)
 694:	8b 42 1c             	mov    0x1c(%edx),%eax
 697:	c6 40 09 00          	movb   $0x0,0x9(%eax)
 69b:	83 ec 0c             	sub    $0xc,%esp
 69e:	8d 83 04 00 00 00    	lea    0x4(%ebx),%eax
			6a0: R_386_GOTOFF	.bss
 6a4:	50                   	push   %eax
 6a5:	e8 fc ff ff ff       	call   6a6 <write_intr+0x6d>
			6a6: R_386_PLT32	wake_up
 6aa:	8b 83 0c 00 00 00    	mov    0xc(%ebx),%eax
			6ac: R_386_GOTOFF	.bss
 6b0:	8b 70 1c             	mov    0x1c(%eax),%esi
 6b3:	83 c4 10             	add    $0x10,%esp
 6b6:	80 7e 0b 00          	cmpb   $0x0,0xb(%esi)
 6ba:	74 2f                	je     6eb <write_intr+0xb2>
 6bc:	c6 46 0b 00          	movb   $0x0,0xb(%esi)
 6c0:	83 ec 0c             	sub    $0xc,%esp
 6c3:	83 c6 0c             	add    $0xc,%esi
 6c6:	56                   	push   %esi
 6c7:	e8 fc ff ff ff       	call   6c8 <write_intr+0x8f>
			6c8: R_386_PLT32	wake_up
 6cc:	8b 83 0c 00 00 00    	mov    0xc(%ebx),%eax
			6ce: R_386_GOTOFF	.bss
 6d2:	c7 00 ff ff ff ff    	movl   $0xffffffff,(%eax)
 6d8:	8b 40 20             	mov    0x20(%eax),%eax
 6db:	89 83 0c 00 00 00    	mov    %eax,0xc(%ebx)
			6dd: R_386_GOTOFF	.bss
 6e1:	e8 ff fa ff ff       	call   1e5 <do_request>
 6e6:	83 c4 10             	add    $0x10,%esp
 6e9:	eb 95                	jmp    680 <write_intr+0x47>
 6eb:	83 ec 0c             	sub    $0xc,%esp
 6ee:	8d 83 00 00 00 00    	lea    0x0(%ebx),%eax
			6f0: R_386_GOTOFF	.LC7
 6f4:	50                   	push   %eax
 6f5:	e8 fc ff ff ff       	call   6f6 <write_intr+0xbd>
			6f6: R_386_PLT32	printk
 6fa:	83 c4 10             	add    $0x10,%esp
 6fd:	eb bd                	jmp    6bc <write_intr+0x83>

000006ff <rw_hd>:
 6ff:	f3 0f 1e fb          	endbr32 
 703:	55                   	push   %ebp
 704:	57                   	push   %edi
 705:	56                   	push   %esi
 706:	53                   	push   %ebx
 707:	83 ec 1c             	sub    $0x1c,%esp
 70a:	e8 fc ff ff ff       	call   70b <rw_hd+0xc>
			70b: R_386_PC32	__x86.get_pc_thunk.di
 70f:	81 c7 02 00 00 00    	add    $0x2,%edi
			711: R_386_GOTPC	_GLOBAL_OFFSET_TABLE_
 715:	8b 74 24 34          	mov    0x34(%esp),%esi
 719:	0f b6 56 04          	movzbl 0x4(%esi),%edx
 71d:	83 fa 09             	cmp    $0x9,%edx
 720:	77 12                	ja     734 <rw_hd+0x35>
 722:	0f b7 4e 06          	movzwl 0x6(%esi),%ecx
 726:	01 c9                	add    %ecx,%ecx
 728:	8d 41 02             	lea    0x2(%ecx),%eax
 72b:	3b 84 d7 a4 04 00 00 	cmp    0x4a4(%edi,%edx,8),%eax
			72e: R_386_GOTOFF	.bss
 732:	76 08                	jbe    73c <rw_hd+0x3d>
 734:	83 c4 1c             	add    $0x1c,%esp
 737:	5b                   	pop    %ebx
 738:	5e                   	pop    %esi
 739:	5f                   	pop    %edi
 73a:	5d                   	pop    %ebp
 73b:	c3                   	ret    
 73c:	03 8c d7 a0 04 00 00 	add    0x4a0(%edi,%edx,8),%ecx
			73f: R_386_GOTOFF	.bss
 743:	bb cd cc cc cc       	mov    $0xcccccccd,%ebx
 748:	89 d0                	mov    %edx,%eax
 74a:	f7 e3                	mul    %ebx
 74c:	89 d3                	mov    %edx,%ebx
 74e:	c1 eb 02             	shr    $0x2,%ebx
 751:	8d 2c 1b             	lea    (%ebx,%ebx,1),%ebp
 754:	8d 44 1d 00          	lea    0x0(%ebp,%ebx,1),%eax
 758:	8b 84 c7 04 00 00 00 	mov    0x4(%edi,%eax,8),%eax
			75b: R_386_GOTOFF	.rodata
 75f:	89 44 24 0c          	mov    %eax,0xc(%esp)
 763:	89 c8                	mov    %ecx,%eax
 765:	b9 00 00 00 00       	mov    $0x0,%ecx
 76a:	89 ca                	mov    %ecx,%edx
 76c:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
 770:	f7 f1                	div    %ecx
 772:	89 d1                	mov    %edx,%ecx
 774:	01 dd                	add    %ebx,%ebp
 776:	8b bc ef 00 00 00 00 	mov    0x0(%edi,%ebp,8),%edi
			779: R_386_GOTOFF	.rodata
 77d:	ba 00 00 00 00       	mov    $0x0,%edx
 782:	f7 f7                	div    %edi
 784:	83 c1 01             	add    $0x1,%ecx
 787:	83 ec 04             	sub    $0x4,%esp
 78a:	56                   	push   %esi
 78b:	50                   	push   %eax
 78c:	52                   	push   %edx
 78d:	89 da                	mov    %ebx,%edx
 78f:	8b 44 24 40          	mov    0x40(%esp),%eax
 793:	e8 3f fb ff ff       	call   2d7 <rw_abs_hd>
 798:	83 c4 10             	add    $0x10,%esp
 79b:	eb 97                	jmp    734 <rw_hd+0x35>

0000079d <sys_setup>:
 79d:	f3 0f 1e fb          	endbr32 
 7a1:	55                   	push   %ebp
 7a2:	57                   	push   %edi
 7a3:	56                   	push   %esi
 7a4:	53                   	push   %ebx
 7a5:	83 ec 2c             	sub    $0x2c,%esp
 7a8:	e8 fc ff ff ff       	call   7a9 <sys_setup+0xc>
			7a9: R_386_PC32	__x86.get_pc_thunk.bx
 7ad:	81 c3 02 00 00 00    	add    $0x2,%ebx
			7af: R_386_GOTPC	_GLOBAL_OFFSET_TABLE_
 7b3:	83 bb 00 00 00 00 00 	cmpl   $0x0,0x0(%ebx)
			7b5: R_386_GOTOFF	.data
 7ba:	0f 84 30 01 00 00    	je     8f0 <sys_setup+0x153>
 7c0:	c7 83 00 00 00 00 00 	movl   $0x0,0x0(%ebx)
 7c7:	00 00 00 
			7c2: R_386_GOTOFF	.data
 7ca:	8d b3 a0 04 00 00    	lea    0x4a0(%ebx),%esi
			7cc: R_386_GOTOFF	.bss
 7d0:	bf 00 00 00 00       	mov    $0x0,%edi
 7d5:	8b ab 00 00 00 00    	mov    0x0(%ebx),%ebp
			7d7: R_386_GOT32X	start_buffer
 7db:	8d 83 00 00 00 00    	lea    0x0(%ebx),%eax
			7dd: R_386_GOTOFF	.LC8
 7e1:	89 44 24 1c          	mov    %eax,0x1c(%esp)
 7e5:	8d 83 00 00 00 00    	lea    0x0(%ebx),%eax
			7e7: R_386_GOTOFF	.LC9
 7eb:	89 44 24 0c          	mov    %eax,0xc(%esp)
 7ef:	89 6c 24 10          	mov    %ebp,0x10(%esp)
 7f3:	8d 83 00 00 00 00    	lea    0x0(%ebx),%eax
			7f5: R_386_GOTOFF	.LC10
 7f9:	89 44 24 18          	mov    %eax,0x18(%esp)
 7fd:	89 6c 24 14          	mov    %ebp,0x14(%esp)
 801:	eb 70                	jmp    873 <sys_setup+0xd6>
 803:	83 ec 08             	sub    $0x8,%esp
 806:	57                   	push   %edi
 807:	ff 74 24 28          	pushl  0x28(%esp)
 80b:	e8 fc ff ff ff       	call   80c <sys_setup+0x6f>
			80c: R_386_PLT32	printk
 810:	83 c4 04             	add    $0x4,%esp
 813:	ff 74 24 18          	pushl  0x18(%esp)
 817:	e8 fc ff ff ff       	call   818 <sys_setup+0x7b>
			818: R_386_PLT32	panic
 81c:	83 c4 10             	add    $0x10,%esp
 81f:	eb 7d                	jmp    89e <sys_setup+0x101>
 821:	83 ec 08             	sub    $0x8,%esp
 824:	57                   	push   %edi
 825:	ff 74 24 24          	pushl  0x24(%esp)
 829:	e8 fc ff ff ff       	call   82a <sys_setup+0x8d>
			82a: R_386_PLT32	printk
 82e:	83 c4 04             	add    $0x4,%esp
 831:	ff 74 24 18          	pushl  0x18(%esp)
 835:	e8 fc ff ff ff       	call   836 <sys_setup+0x99>
			836: R_386_PLT32	panic
 83a:	83 c4 10             	add    $0x10,%esp
 83d:	8b 44 24 14          	mov    0x14(%esp),%eax
 841:	8b 00                	mov    (%eax),%eax
 843:	8b 10                	mov    (%eax),%edx
 845:	b8 00 00 00 00       	mov    $0x0,%eax
 84a:	8b 8c 42 c6 01 00 00 	mov    0x1c6(%edx,%eax,2),%ecx
 851:	89 4c 06 08          	mov    %ecx,0x8(%esi,%eax,1)
 855:	8b 8c 42 ca 01 00 00 	mov    0x1ca(%edx,%eax,2),%ecx
 85c:	89 4c 06 0c          	mov    %ecx,0xc(%esi,%eax,1)
 860:	83 c0 08             	add    $0x8,%eax
 863:	83 f8 20             	cmp    $0x20,%eax
 866:	75 e2                	jne    84a <sys_setup+0xad>
 868:	83 c7 01             	add    $0x1,%edi
 86b:	83 c6 28             	add    $0x28,%esi
 86e:	83 ff 02             	cmp    $0x2,%edi
 871:	74 52                	je     8c5 <sys_setup+0x128>
 873:	83 ec 04             	sub    $0x4,%esp
 876:	ff 75 00             	pushl  0x0(%ebp)
 879:	6a 00                	push   $0x0
 87b:	6a 00                	push   $0x0
 87d:	b9 01 00 00 00       	mov    $0x1,%ecx
 882:	89 fa                	mov    %edi,%edx
 884:	b8 00 00 00 00       	mov    $0x0,%eax
 889:	e8 49 fa ff ff       	call   2d7 <rw_abs_hd>
 88e:	8b 45 00             	mov    0x0(%ebp),%eax
 891:	83 c4 10             	add    $0x10,%esp
 894:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
 898:	0f 84 65 ff ff ff    	je     803 <sys_setup+0x66>
 89e:	8b 44 24 10          	mov    0x10(%esp),%eax
 8a2:	8b 00                	mov    (%eax),%eax
 8a4:	8b 00                	mov    (%eax),%eax
 8a6:	80 b8 fe 01 00 00 55 	cmpb   $0x55,0x1fe(%eax)
 8ad:	0f 85 6e ff ff ff    	jne    821 <sys_setup+0x84>
 8b3:	80 b8 ff 01 00 00 aa 	cmpb   $0xaa,0x1ff(%eax)
 8ba:	0f 85 61 ff ff ff    	jne    821 <sys_setup+0x84>
 8c0:	e9 78 ff ff ff       	jmp    83d <sys_setup+0xa0>
 8c5:	83 ec 08             	sub    $0x8,%esp
 8c8:	8d 83 00 00 00 00    	lea    0x0(%ebx),%eax
			8ca: R_386_GOTOFF	.LC11
 8ce:	50                   	push   %eax
 8cf:	8d 83 00 00 00 00    	lea    0x0(%ebx),%eax
			8d1: R_386_GOTOFF	.LC12
 8d5:	50                   	push   %eax
 8d6:	e8 fc ff ff ff       	call   8d7 <sys_setup+0x13a>
			8d7: R_386_PLT32	printk
 8db:	e8 fc ff ff ff       	call   8dc <sys_setup+0x13f>
			8dc: R_386_PLT32	mount_root
 8e0:	83 c4 10             	add    $0x10,%esp
 8e3:	b8 00 00 00 00       	mov    $0x0,%eax
 8e8:	83 c4 2c             	add    $0x2c,%esp
 8eb:	5b                   	pop    %ebx
 8ec:	5e                   	pop    %esi
 8ed:	5f                   	pop    %edi
 8ee:	5d                   	pop    %ebp
 8ef:	c3                   	ret    
 8f0:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
 8f5:	eb f1                	jmp    8e8 <sys_setup+0x14b>

000008f7 <unexpected_hd_interrupt>:
 8f7:	f3 0f 1e fb          	endbr32 
 8fb:	53                   	push   %ebx
 8fc:	83 ec 14             	sub    $0x14,%esp
 8ff:	e8 fc ff ff ff       	call   900 <unexpected_hd_interrupt+0x9>
			900: R_386_PC32	__x86.get_pc_thunk.bx
 904:	81 c3 02 00 00 00    	add    $0x2,%ebx
			906: R_386_GOTPC	_GLOBAL_OFFSET_TABLE_
 90a:	8d 83 00 00 00 00    	lea    0x0(%ebx),%eax
			90c: R_386_GOTOFF	.LC13
 910:	50                   	push   %eax
 911:	e8 fc ff ff ff       	call   912 <unexpected_hd_interrupt+0x1b>
			912: R_386_PLT32	panic
 916:	83 c4 18             	add    $0x18,%esp
 919:	5b                   	pop    %ebx
 91a:	c3                   	ret    

0000091b <hd_init>:
 91b:	f3 0f 1e fb          	endbr32 
 91f:	53                   	push   %ebx
 920:	e8 fc ff ff ff       	call   921 <hd_init+0x6>
			921: R_386_PC32	__x86.get_pc_thunk.cx
 925:	81 c1 02 00 00 00    	add    $0x2,%ecx
			927: R_386_GOTPC	_GLOBAL_OFFSET_TABLE_
 92b:	8d 81 20 00 00 00    	lea    0x20(%ecx),%eax
			92d: R_386_GOTOFF	.bss
 931:	8d 90 80 04 00 00    	lea    0x480(%eax),%edx
 937:	c7 00 ff ff ff ff    	movl   $0xffffffff,(%eax)
 93d:	c7 40 20 00 00 00 00 	movl   $0x0,0x20(%eax)
 944:	83 c0 24             	add    $0x24,%eax
 947:	39 d0                	cmp    %edx,%eax
 949:	75 ec                	jne    937 <hd_init+0x1c>
 94b:	c7 81 a0 04 00 00 00 	movl   $0x0,0x4a0(%ecx)
 952:	00 00 00 
			94d: R_386_GOTOFF	.bss
 955:	c7 81 a4 04 00 00 34 	movl   $0x2134,0x4a4(%ecx)
 95c:	21 00 00 
			957: R_386_GOTOFF	.bss
 95f:	c7 81 c8 04 00 00 00 	movl   $0x0,0x4c8(%ecx)
 966:	00 00 00 
			961: R_386_GOTOFF	.bss
 969:	c7 81 cc 04 00 00 34 	movl   $0x2134,0x4cc(%ecx)
 970:	21 00 00 
			96b: R_386_GOTOFF	.bss
 973:	8b 99 00 00 00 00    	mov    0x0(%ecx),%ebx
			975: R_386_GOT32X	idt
 979:	8b 91 00 00 00 00    	mov    0x0(%ecx),%edx
			97b: R_386_GOT32X	hd_interrupt
 97f:	b8 00 00 08 00       	mov    $0x80000,%eax
 984:	66 89 d0             	mov    %dx,%ax
 987:	66 ba 00 8f          	mov    $0x8f00,%dx
 98b:	89 83 78 01 00 00    	mov    %eax,0x178(%ebx)
 991:	89 93 7c 01 00 00    	mov    %edx,0x17c(%ebx)
 997:	ba 21 00 00 00       	mov    $0x21,%edx
 99c:	ec                   	in     (%dx),%al
 99d:	eb 00                	jmp    99f <hd_init+0x84>
 99f:	eb 00                	jmp    9a1 <hd_init+0x86>
 9a1:	25 fb 00 00 00       	and    $0xfb,%eax
 9a6:	ee                   	out    %al,(%dx)
 9a7:	eb 00                	jmp    9a9 <hd_init+0x8e>
 9a9:	eb 00                	jmp    9ab <hd_init+0x90>
 9ab:	ba a1 00 00 00       	mov    $0xa1,%edx
 9b0:	ec                   	in     (%dx),%al
 9b1:	eb 00                	jmp    9b3 <hd_init+0x98>
 9b3:	eb 00                	jmp    9b5 <hd_init+0x9a>
 9b5:	25 bf 00 00 00       	and    $0xbf,%eax
 9ba:	ee                   	out    %al,(%dx)
 9bb:	5b                   	pop    %ebx
 9bc:	c3                   	ret    

Disassembly of section .text.__x86.get_pc_thunk.cx:

00000000 <__x86.get_pc_thunk.cx>:
   0:	8b 0c 24             	mov    (%esp),%ecx
   3:	c3                   	ret    

Disassembly of section .text.__x86.get_pc_thunk.bx:

00000000 <__x86.get_pc_thunk.bx>:
   0:	8b 1c 24             	mov    (%esp),%ebx
   3:	c3                   	ret    

Disassembly of section .text.__x86.get_pc_thunk.di:

00000000 <__x86.get_pc_thunk.di>:
   0:	8b 3c 24             	mov    (%esp),%edi
   3:	c3                   	ret    
